Syntactic Confectionery Delight PerlMonks

### Re: Determining if a rational number terminates

by ColonelPanic (Friar)
 on Nov 30, 2012 at 09:36 UTC ( #1006439=note: print w/replies, xml ) Need Help??

in reply to Determining if a rational number terminates

Here's a short one:
```use bigrat;print((shift()*10**1000/shift())=~?/??'N':'Y')
Is this blatant cheating? Perhaps :)

When's the last time you used duct tape on a duct? --Larry Wall

Replies are listed 'Best First'.
Re^2: Determining if a rational number terminates
by tobyink (Abbot) on Nov 30, 2012 at 10:07 UTC

This produces a deprecation warning in recent versions of Perl thanks to ?/?. You can use '/' or "/" instead to avoid the deprecation warning. Perl is smart enough to know you meant a regexp rather than a string if it follows =~.

bigrat is in core, so I don't consider it cheating. Now, if you wrote chkrat.pm, and uploaded it to CPAN specifically to help your golf score, that would be cheating.

However, I'm disappointed by the lack of a line break.

Here's my reinterpretation of your implementation. I've added a line break at the cost of three keystrokes, but managed to save six keystrokes elsewhere...

```use bigrat;print((shift()*10**1000/shift)=~"/"?N:Y,\$/)

These are also quite cute, though very slightly longer...

```use bigrat;print[Y,N]->[(shift()*10**1000/shift)=~"/"],\$/
```use bigrat;\$_=shift()*10**1000/shift;print[Y,N]->[m"/"],\$/
perl -E'sub Monkey::do{say\$_,for@_,do{(\$monkey=[caller(0)]->[3])=~s{::}{ }and\$monkey}}"Monkey say"->Monkey::do'
Thanks for your suggestions. Here is a yet shorter version:
```use bigrat;print+(1e1000/pop()*pop)=~"/"?N:Y,\$/

When's the last time you used duct tape on a duct? --Larry Wall

Create A New User
Node Status?
node history
Node Type: note [id://1006439]
help
Chatterbox?
 [planetscape]: boo marto faints

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (8)
As of 2018-04-27 09:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My travels bear the most uncanny semblance to ...

Results (97 votes). Check out past polls.

Notices?