use Carp::Always; use Path::Tiny qw/ path /; sub f{g(@_);} sub g { r( @_ ); } sub r { path(shift)->lines } f(666); __END__ Error open (<) on '666': No such file or directory at C:/citrusperl/site/lib/Path/Tiny.pm line 1469. Path::Tiny::Error::throw('Path::Tiny::Error', 'open (<)', 666, 'No such file or directory') called at C:/citrusperl/site/lib/Path/Tiny.pm line 126 Path::Tiny::_throw('Path::Tiny=ARRAY(0xabe0a4)', 'open (<)') called at C:/citrusperl/site/lib/Path/Tiny.pm line 740 Path::Tiny::filehandle('Path::Tiny=ARRAY(0xabe0a4)', 'HASH(0xae824c)', '<', undef) called at C:/citrusperl/site/lib/Path/Tiny.pm line 900 Path::Tiny::lines('Path::Tiny=ARRAY(0xabe0a4)') called at - line 5 main::r(666) called at - line 4 main::g(666) called at - line 3 main::f(666) called at - line 6