doesn’t work through nrpe

first i was getting a sudo error so i installed sudo. then i had the line 110 error so i added the line if (!defined($number)) { $number = 0; } in 110 but i started to get unknown state in command line then i added the 2 line on 110 which are :
if (!defined($number)) { $number = 0; }
if ($interface eq ‘megaraid’.”,”.$number or $interface eq ‘scsi’){
so when i run:
./check_smart -i ata -d /dev/sda
i get:
OK: no SMART errors detected|Raw_Read_Error_Rate=0 Spin_Up_Time=3175 Start_Stop_Count=0 Reallocated_Sector_Ct=0 Seek_Error_Rate=0 Power_On_Hours=30537 Spin_Retry_Count=0 Calibration_Retry_Count=0 Power_Cycle_Count=37 Power-Off_Retract_Count=25 Load_Cycle_Count=37 Temperature_Celsius=42 Reallocated_Event_Count=0 Current_Pending_Sector=0 Offline_Uncorrectable=0 UDMA_CRC_Error_Count=0 Multi_Zone_Error_Rate=0

but then when i define it in nrpe as:
command[check_smart]=/usr/local/nagios/libexec/check_smart -i ata -d /dev/sda
and in nagios as:
define service{
use local-service
host_name storage
service_description smart WD
check_command check_nrpe!check_smart!
notifications_enabled 1
i get as output in nagios:
critical: NRPE: Unable to read output
anyone had it work through nrpe?